#ifndef MEASURERNODE_H
#define MEASURERNODE_H

#include <vector>
#include "ProSpace.h"
using namespace std;

class Measurer_Node{
	
private:
	Measurer_Node *parent;
	Measurer_Node *left;
	Measurer_Node *right;
	vector<ProSpace*> spaces;
public:
	Measurer_Node();
	Measurer_Node(Measurer_Node* parent);
	~Measurer_Node();
	void addSpace(ProSpace* space);
	void addLeftChildNode(ProSpace* space);
	void addRightChildNode(ProSpace* space);
	
	void updateSpace(ProSpace* space, int index);


	ProSpace& getSpace(int index);
	Measurer_Node* getLeftNode() const;
	Measurer_Node* getRightNode() const;
	Measurer_Node* getParentNode() const;
	const int sizeOf() const;
	void output(int index) const;
	bool isLeftNodeEmpty() const;
	bool isRightNodeEmpty() const;

	
	
};
#endif